package com.fowo.api.model.tmp.listing;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.excel.ImageConvert;
import com.fowo.api.sys.entity.SysFile;
import java.util.List;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** Listing临时表 导入导出辅助模型 */
@Getter
@Setter
public class TmpListingExcelPo {

  @Size(max = 1000, message = "名称长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "名称")
  private String name;

  @Size(max = 50, message = "亚马逊定义的listing的id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "亚马逊定义的listing的id")
  private String listingId;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String sellerSku;

  @Size(max = 50, message = "商品的原价长度不能超过20")
  @ExcelProperty(value = "商品的原价")
  private java.math.BigDecimal price;

  @Size(max = 50, message = "商品的数量长度不能超过20")
  @ExcelProperty(value = "商品的数量")
  private Integer quantity;

  @Size(max = 50, message = "商品上架时间长度不能超过20")
  @DateTimeFormat("yyyy年MM月dd日HH:mm:ss")
  @ExcelProperty(value = "商品上架时间")
  private java.util.Date openDate;

  @Size(max = 1000, message = "图片地址长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "图片地址")
  private String imageUrl;

  @Size(max = 50, message = "是否本市场长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "是否本市场")
  private String itemIsMarketplace;

  @Size(max = 50, message = "商品id类型长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品id类型")
  private String productIdType;

  @Size(max = 50, message = "运费长度不能超过20")
  @ExcelProperty(value = "运费")
  private java.math.BigDecimal zshopShippingFee;

  @Size(max = 1000, message = "商品备注长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品备注")
  private String itemNote;

  @Size(max = 50, message = "商品状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品状态")
  private String itemCondition;

  @Size(max = 50, message = "店铺类别长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺类别")
  private String zshopCategory;

  @Size(max = 1000, message = "浏览地址长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "浏览地址")
  private String zshopBrowsePath;

  @Size(max = 50, message = "店铺店面特色长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺店面特色")
  private String zshopStorefrontFeature;

  @Size(max = 50, message = "ASIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "ASIN")
  private String asin;

  @Size(max = 50, message = "国际发货长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "国际发货")
  private String willShipInternationally;

  @Size(max = 50, message = "加急快递长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "加急快递")
  private String expeditedShipping;

  @Size(max = 50, message = "商品id长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品id")
  private String productId;

  @Size(max = 50, message = "投标特色广告位长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "投标特色广告位")
  private String bidForFeaturedPlacement;

  @Size(max = 50, message = "增删长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "增删")
  private String addDelete;

  @Size(max = 50, message = "待处理数量长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "待处理数量")
  private String pendingQuantity;

  @Size(max = 50, message = "配送渠道长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "配送渠道")
  private String fulfillmentChannel;

  @Size(max = 50, message = "运输分组长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "运输分组")
  private String merchantShippingGroup;

  @Size(max = 50, message = "状态长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "状态")
  private String status;

  @ExcelProperty(value = "店铺id")
  private Long sid;

  @Size(max = 50, message = "FNSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "FNSKU")
  private String fnsku;

  @Size(max = 50, message = "父ASIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "父ASIN")
  private String parentAsin;

  @Size(max = 50, message = "亚马逊分类长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "亚马逊分类")
  private String amazonClassify;

  @Size(max = 50, message = "商品类型长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "商品类型")
  private String productType;

  @Size(max = 50, message = "国家长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "国家")
  private String country;

  @Size(max = 50, message = "大类排名长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "大类排名")
  private String ranking;

  @Size(max = 50, message = "货币长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "货币")
  private String currency;

  @Size(max = 50, message = "积分长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "积分")
  private String points;

  @ExcelProperty(value = "图片", converter = ImageConvert.class)
  private List<SysFile> img;
}
